package com.bridgeintelligent.tag.engine.es.model;

import com.bridgeintelligent.tag.engine.api.FilterGroup;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

@JsonIgnoreProperties(ignoreUnknown = true)
@Data
@NoArgsConstructor
public class DimAggregationModel {

    /**
     * 一级聚合字段
     */
    private String field;

    /**
     * 数据查询日期
     */
    private String dataDate;

    /**
     * 分组区间
     */
    private List<GroupItem> items;

    /**
     * 筛选条件实体
     */
    private FilterGroup filterGroup;

    /**
     * 动态新增列
     */
    private List<String> fields;

    /**
     * 动态新增列维护field-realField关系
     */
    private Map<String,String> fieldsMap;

    /**
     * 动态列要显示的聚合映射(示例新增年龄标签：age->min,age_name->年龄)
     */
    private Map<String,String> aggMap;
    /**
     * 索引ID
     */
    private String indexId;

    /**
     * 排序字段  custNum 或者具体的动态指标标签名
     */
    private String sortWord;
    /**
     * 排序类型  min  max   avg   sum
     */
    private String sortType;
    /**
     * 排序方向  true降序 false升序
     */
    private boolean sortFlag;

}
